Talk type image
WORKSHOP

Scala Bridge

Scala, Functional Programming
Max. attendees: 20
Thursday 3rd - 09:00 to 17:00

ScalaBridge is a hands-on programming workshop. Two types of people should consider attending: students, who want to learn something new, and mentors, who want to help guide the students.

  • Students can have any level of programming experience, from complete beginner onward.
  • Mentors should have sufficient Scala experience to help students navigate any problems they run into.

All attendees should bring a laptop.We'll work in small groups, of 2-3 students per mentor. Each group will work on the same project (see the list below.) At the end of the day you should have implemented something fun, and learned something new. If you want to continue after the day, ScalaBridge London runs online sessions.We will be using the Scala programming language. Scala is widely used in industry. It is also a functional programming language. If you are used to programming in an imperative language like Python or Javascript, you'll find that Scala has a different way of approaching programming. ScalaBridge values inclusivity. We particularly welcome people who are under-represented in computing. If you don't share our values, please don't attend.

If you are interested, sign up.

We'll be in touch closer to the event with more details.We have prepared material for the following projects. Links to the material will be shared closer to the event.

  • Fractals: Implement fractals like the Sierpinski triangle and learn about recursion. Suitable for complete beginners.
  • Circles and cycles: Function composition and parametric equations of curves are explored in this projects that produces images like those created by a Spirograph. Suitable for beginners.
  • Data analysis: Learn some basics of statistics and data analysis while analysing climate data. Learn regular expressions, representing data, and working with collection classes. Suitable for beginner to intermediate programmers.
  • Gradient descent: This is the fundamental algorithm behind the current advances in machine learning. Learn how it can be translated into code and used for one-dimensional function fitting. The programming emphasises functions and function composition. Programming is beginner friendly but knowledge of calculus is a big help.
  • Regular expression derivatives: Regular expression derivatives are a very neat algorithm for implementing regular expression matching. The programming involves manipulating an abstract syntax tree representing the regular expression. Suitable for intermediate to advanced students.
  • Parser combinators: Develop a library to express parsers. This involves a lot of work with algebraic data types, moderately intricate programming for the actual parsing, and some API design work. Suitable for intermediate to advanced students.
  • Programming languages: Implement your own programming language. We provide the parsers, and you implement everything else. Learn about programming language semantics, and how to represent and manipulate programs as abstract syntax trees. Suitable to intermediate to advanced students.

Requirements

You'll need a laptop. Install Scala and a development environmet as described at https://www.creativescala.org/creative-scala/setup/index.html A lot of beginners struggle to install this software. If you have tried and failed we'll help you on the day, but please try first as this can take a lot of time.

Agenda

1.- Intro 2.- Grouping teams 3.- Hands-On 4.- Share and wrap-up.

Companies That Use This Technology

Apple, Bank of America, BBC, ClearScore, Etsy, Twitter, UK Government, and many more.

Target Audience Roles

Two types of people should consider attending: students, who want to learn something new, and mentors, who want to help guide the students.
Students can have any level of programming experience, from complete beginner onward.
Mentors should have sufficient Scala experience to help students navigate any problems they run into.